/* 
 * File:   FieldSolver.h
 * Author: Lucky
 *
 * Created on 5. říjen 2011, 11:06
 */

#ifndef FIELDSOLVER_H
#define	FIELDSOLVER_H

#include "Field.h"
#include "Chessboard.h"
#include "Result.h"

class FieldSolver {
public:
    FieldSolver(int width, int height, int q, int * coords, Field* field);
    FieldSolver(const FieldSolver& orig);
    virtual ~FieldSolver();
    
    void compute();
private:

    int m_width; //sirka boardu
    int m_height; //vyska boardu
    int m_q; //pocet puvodne zapnutych svetel (pred zahajenim vypoctu)
    int* m_coords; //souradnice
    Field* m_field; //field stavu
    Chessboard* m_board; //chessboard
    Result* m_res; //nejlepsi zatim nalezeny vysledek
    
    bool increaseField();

};

#endif	/* FIELDSOLVER_H */

